package com.gzx.qc.modular.voice.check.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import vip.xiaonuo.common.handler.CommonSm1AesTypeHandler;

/**
 * @author zjt
 * @description
 * @date 2025/2/5 16:01
 */
@Data
@NoArgsConstructor
@TableName(autoResultMap = true)
public class GzxVoiceCheck {

    /**
     * 自增主键
     */
    private Long id;

    /**
     * 通话序列号，唯一标识一次通话
     */
    private String callId;

    /**
     * 被叫号码，即通话的对方号码
     */
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    private String liaisonPhone;

    /**
     * 坐席账号
     */
    private String agentName;

    /**
     * 坐席姓名
     */
    private String userName;

    /**
     * 所属公司ID
     */
    private Long deptId;

    /**
     * 录音地址，存储通话录音文件的URL
     */
    private String fileUrl;

    /**
     * 创建时间
     */
    private String createTime;

    private String keyword;

    /**
     * 质检审核结果
     */
    private Integer qualityApproveStatus;

    /**
     * 质检审核备注
     */
    private String qualityApproveRemark;

    /**
     * 主管审核结果
     */
    private Integer supervisorApproveStatus;

    /**
     * 主管审核备注
     */
    private String supervisorApproveRemark;

    /**
     * 状态
     */
    private Integer status;

    /**
     * AI质检结果
     */
    private String aiApproveStatus;

    /**
     * AI推理的理由
     */
    private String aiReasonContent;

    /**
     * 分总审核结果
     */
    private Integer masterApproveStatus;

    /**
     * 分总审核备注
     */
    private String masterApproveRemark;


    public GzxVoiceCheck(String callId, String createTime) {
        this.callId = callId;
        this.createTime = createTime;
    }
}
